class Solution {
public:
    int climbStairs(int n) {
        //最简单的动态规划,dp[i]代表从前一个位置到达i位置一共存在多少的方法
        int dp[46] = {0};
        dp[1] = 1;
        dp[2] = 2;
        dp[3] = 3;
        for(int i = 4;i<=n;i++)
        {
            dp[i] = dp[i-1]+dp[i-2];
        }
        return dp[n];
    }
};